home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1999 #2 / Amiga Plus CD - 1999 - No. 2.iso / System / mui / docs / changes next >
Text File  |  1977-12-31  |  40KB  |  1,134 lines

  1. ************************************************************************
  2.  
  3.                         MUI - MagicUserInterface
  4.  
  5.                 (c) Copyright 1992-96 by Stefan Stuntz
  6.  
  7.         This file describes all changes since version 1.0 of MUI
  8.  
  9. ************************************************************************
  10.  
  11.  
  12.  
  13. ------------------------------------------------------------------------
  14. Version 3.6 (20-Aug-96)                       (muimaster.library V17.63)
  15. ------------------------------------------------------------------------
  16.  
  17. * MINOR SASG UPDATE *
  18.  
  19. NOTE: Still not registered yet?
  20.       Go to http://www.sasg.com/ and get your MUI within a few hours!
  21.  
  22. Changes for users:
  23.  
  24. - Fixed another bug with string gadget activation/deactivation which
  25.   might have caused possible crashes of web browsers.
  26.  
  27. - Included a listview that shows versions of MUI custom classes in the
  28.   MUI about window.
  29.  
  30. Changes for programmers:
  31.  
  32. - Replaced the outdated custom class example Userdata.mcc by a more
  33.   uptodate custom class. This one also shows how to handle preferences
  34.   for custom classes.
  35.  
  36. - Fixed a bug that resulted in waiting for wrong signals when an input
  37.   handler with timer was used.
  38.  
  39.  
  40.  
  41. ------------------------------------------------------------------------
  42. Version 3.5 (26-Jul-96)                      (muimaster.library V16.160)
  43. ------------------------------------------------------------------------
  44.  
  45. * MINOR SASG UPDATE *
  46.  
  47. NOTES: More support and information is available from the official
  48.        MUI web site. Please visit us at http://www.sasg.com/
  49.  
  50.        This version was not released to the public, it was only
  51.        distributed with the web browser IBrowse from Omnipresence.
  52.  
  53. Changes for users:
  54.  
  55. - Rewrote installer script. It will correctly update older MUI
  56.   distributions now instead of just renaming away the previous
  57.   directory. This allows additional classes and images to remain
  58.   installed after a MUI update.
  59.  
  60. - Fixed background rendering bug on cybergfx hi/truecolor screens.
  61.  
  62. - Fixed possible crash when disposing active string gadgets.
  63.  
  64. - Fixed positioning of window border scrollers after uniconfiy.
  65.  
  66. - Fixed version numbers of german catalog.
  67.  
  68. - Included builtin menu rendering for popup menus. Popups will
  69.   always appear above the corresponding gadget now instead of
  70.   relying on external patches for correct positioning.
  71.  
  72. - Fixed refresh of gadgets in virtual groups, i.e. browser
  73.   displays.
  74.  
  75. - Fixed rendering problems when TABbing away from a selected gadget.
  76.  
  77. - Controlling radio buttons is possible by clicking on the text
  78.   labels as well as on the actual buttons.
  79.  
  80. - Fixed major bug that lead to confused gadget appearance when changing
  81.   prefs on iconified applications.
  82.  
  83. - Removed a work-around for broken cybergfx picture.datatype. Note that
  84.   you will need at least picture.datatype 43.682 if you intend to
  85.   use background pattern on hi/truecolor cybergfx screens.
  86.  
  87. - Enhanced display speed in virtual groups, MUI based web browsers
  88.   perform better.
  89.  
  90. Changes for programmers:
  91.  
  92. - Implemented new input event handling system for custom classes.
  93.   This new system replaces the old and inflexible calls to
  94.   MUI_Request/RejectIDCMP(). See autodocs of MUIM_Window_AddEventHandler
  95.   for details.
  96.  
  97. - Improved remapping speed of bitmap class for images with more than
  98.   4 planes. However, better use datatypes (V43) to remap big images
  99.   instead of MUIs bitmap class.
  100.  
  101. - MUIM_List_Clear no longer hides a lists title.
  102.  
  103. - Setting MUIA_Draggable and MUIA_xxxWeight for group objects is no
  104.   longer forwarded to children.
  105.  
  106. - Fixed enforcer hit when dragging listview items with custom imagery.
  107.  
  108. - Fixed mungwall hit when string gadget were set to contents bigger
  109.   than their maximum length.
  110.  
  111. - Implemented MUIM_KillNotifyObj. See autodocs for details.
  112.  
  113. - Custom classes are also looked for and found in PRODGIR:mui/ now.
  114.  
  115. - MUI automatically falls back to traditional scrollers when window
  116.   border scrollers were chosen but not available for some reasons,
  117.   e.g. because the proper Window class attributes were not specified
  118.   or the muiwinscroller.class is missing.
  119.  
  120. - Support for NM_COMMANDSTRING menus in MUI_MakeObject(MUIO_MenuItem)
  121.   call. Also implemented MUIA_Menuitem_CommandString attributed for
  122.   Menuitem class. See autodocs for details.
  123.  
  124. - Implemented MUIA_Scrollgroup_HorizBar and MUIA_Scrollgroup_VertBar
  125.   attributes to access the scrollbars of a scrollgroup.
  126.  
  127.  
  128.  
  129. ------------------------------------------------------------------------
  130. Version 3.4 (01-Mar-96)                      (muimaster.library V15.93 )
  131. ------------------------------------------------------------------------
  132.  
  133. * non-published internal release *
  134.  
  135.  
  136.  
  137. ------------------------------------------------------------------------
  138. Version 3.3 (22-Feb-96)                      (muimaster.library V14.106)
  139. ------------------------------------------------------------------------
  140.  
  141. * MINOR SASG UPDATE *
  142.  
  143. Changes for users:
  144.  
  145. - Help bubbles no longer block an application.
  146.  
  147. - Fixed refresh bug of prop gadgets in virtual groups.
  148.  
  149. - Fixed ARexx command INFO SCREEN.
  150.  
  151. - MUI could crash after disposing an application when ARexx was used.
  152.  
  153. - Fixed refresh of color wheels.
  154.  
  155. - Fixed crash when using Coloradjust objects with Kick 2.x.
  156.  
  157. - Fixed double redraw after window resize.
  158.  
  159. Changes for programmers:
  160.  
  161. - Implemented MUIM_Application_AboutMUI,refwindow method to show MUIs
  162.   about window. Please include an "About MUI..." menu item in all your
  163.   programs.
  164.  
  165. - MUIA_String_Contents notification did not work on
  166.   AMIGA-X/C/V etc. string gadget clipboard hotkeys.
  167.  
  168. - Implemented MUIV_Listview_ScrollerPos_None to create listviews
  169.   without am attached scrollbar. You can create a scrollbar object,
  170.   place it anywhere in your window and connect it to the list (not
  171.   listview!) through notification. See autodocs of
  172.   MUIA_Listview_ScrollerPos for details.
  173.  
  174. - Fixed strange menu item return ID reports.
  175.  
  176. - Menuclass would not allow to set MUIA_Menu_Title. Instead, it
  177.   accidently checked for MUIA_Menuitem_Title. Now, it recognizes
  178.   both tags.
  179.  
  180. - Menu objects and Menuitem objects did not correctly update the
  181.   current menustrip when certain attributes (e.g. the title) were
  182.   changed.
  183.  
  184. - Creating Application objects without MUIA_Application_Title/Base/...
  185.   lead to very strange behaviour. Now, the application simply names
  186.   itself "UNNAMED".
  187.  
  188. - MUI_DisposeObject(NULL) would accidently crash the machine although
  189.   being documented as doing nothing.
  190.  
  191.  NOTE: I strongly suggest to subscribe to the MUI mailing list. Only
  192.  here is the place to ask questions and make suggestions. Programming
  193.  serious MUI applications without support on this mailing list is nearly
  194.  impossible!
  195.  
  196.  To subscribe, mail to mui-request@sunsite.informatik.rwth-aachen.de
  197.  with the single word "subscribe" (no quotes!) as subject (SUBJECT, not
  198.  message body!). You might want to send a HELP command to the server as
  199.  well. Thanks for your cooperation.
  200.  
  201.  
  202.  
  203. ------------------------------------------------------------------------
  204. Version 3.2 (31-Jan-96)                      (muimaster.library V13.686)
  205. ------------------------------------------------------------------------
  206.  
  207. * MINOR SASG UPDATE *
  208.  
  209. Changes for users:
  210.  
  211. - Rewrote some small critical parts in Assembler, MUI 3.2 should run
  212.   significantly faster than previous versions.
  213.  
  214. - Enhanced listview scrolling speed.
  215.  
  216. - Created custom root class which uses memory pools to allocate
  217.   objects. Reduces memory fragmentation and speeds up object
  218.   creation about 100%.
  219.  
  220. - Optmizied scrolling in virtual groups.
  221.  
  222. - Numeric buttons didn't draw their disabled state.
  223.  
  224. - Implemented keyboard control for scrollgroups.
  225.  
  226. - Implemented presets for Coloradjust objects. Presets are read
  227.   from mui:Presets/rgb.txt.
  228.  
  229. - Fixed 16 bytes memory leak.
  230.  
  231. - Fixed redrawing of prop gadgets.
  232.  
  233. - Fixed prop gadgets in listviews with lots of entries.
  234.  
  235. - Enhanced positioning of help bubble.
  236.  
  237. - Help bubbles and Drag&Drop messed up the display if CyberGraphX was
  238.   installed and the used screen was an ECS/AGA display mode with
  239.   interleaved bitmaps. Note well: If your bubbles are broken on
  240.   CyberGraphX screenmodes, be sure to use the *latest* version of
  241.   CyberGraphX from aminet.
  242.  
  243. - Rewrote PSI palette handling completely. Should be much easier to
  244.   use now. Included color presets as popup menus on the color page.
  245.  
  246. - Heavily reduced memory usage of string objects, optimized overall
  247.   memory consumption.
  248.  
  249. Changes for programmers:
  250.  
  251. - Implemented MUIA_List_PuddleSize, MUIA_List_ThreshSize and
  252.   MUIA_List_MemPool to control the pool created by a list object.
  253.  
  254. - Implemented scroll gadgets in window borders. See autodocs
  255.   of MUIA_Window_UseLeftBorderScroller, MUIA_Window_UseRightBorderScroller,
  256.   MUIA_Window_UseBottomBorderScroller and
  257.   MUIA_Prop_UseWinBorder, MUIA_Scrollgroup_UseWinBorder
  258.   for details.
  259.  
  260. - Implemented MUIM_Pendisplay_SetXXX methods to adjust defaults
  261.   of a pendisplay object.
  262.  
  263. - Implememted a timer in application class. See TIMER section
  264.   of MUIM_Application_AddInputHandler for details.
  265.  
  266. - Implemented MUIA_Application_WindowList. Getting this attribute
  267.   returns a pointer to a struct List which contains an applications
  268.   child windows. Use intuition.library/NextObject() to parse.
  269.  
  270. - Fixed get() of MUIA_Application_ForceQuit.
  271.  
  272. - Fixed MUIA_Text_HiChar with bold & italic texts.
  273.  
  274. - Fixed \033I[2,rrrrrrrr,gggggggg,bbbbbbbb] display bug which was
  275.   introduced in MUI 3.1.
  276.  
  277. - Reimplemented MUIA_Slider_Quiet.
  278.  
  279. - Implemented ESC P escape sequence to change pen for text strings.
  280.   Usage is like "This is \33P[17]color 17". Be sure to ObtainPen()
  281.   pens used like this.
  282.  
  283. - Fixed bug when bubbles or popup menus were used on windows
  284.   which's root object was not a group class object. Note that since MUI
  285.   plays some special tricks here, it is generally better to have the
  286.   root object of a window be a simple group class anyway. If you dont
  287.   need such a group in your window, use
  288.   MUIA_Window_RootObject, VGroup, Child, MyObj, End
  289.   instead of
  290.   MUIA_Window_RootObject, MyObj
  291.  
  292. - Fixed MUIM_Application_ShowHelp with V39 AmigaGuide library and
  293.   different help files.
  294.  
  295. - Fixed a very bad bug introduced in 3.1 that made applications crash
  296.   when MUIA_ShowMe was used on objects who's parent was the windows
  297.   root object.
  298.  
  299. - When an object is dropped somewhere outside a valid container,
  300.   the application object will receive a MUIM_DragDrop method. This
  301.   allows programs to take actions when MUI objects are e.g.
  302.   dropped on the Workbench.
  303.  
  304. - Fixed coordinate parameters of MUIM_DragDrop.
  305.  
  306. - Fixed OM_GET for MUIA_String_BufferPos and MUIA_String_DispPos.
  307.  
  308. - MUI 3.1 would accidently reopen windows which were closed during
  309.   an applications iconified state.
  310.  
  311. - Improved behaviour of MUIM_Application_Save/Load. You can override
  312.   the new methods MUIM_Export and MUIM_Import to export/import custom
  313.   data from your custom classes.
  314.  
  315. - Implemented MUIA_FillArea to avoid flickering when drawing custom classes.
  316.  
  317.  
  318.  
  319. ------------------------------------------------------------------------
  320. Version 3.1 (21-Nov-95)                      (muimaster.library V12.268)
  321. ------------------------------------------------------------------------
  322.  
  323. * MAJOR SASG UPDATE *
  324.  
  325. This is a major update. Please look at the information texts
  326. in the preferences program for information on how to update your
  327. registration.
  328.  
  329. Note: Almost everything in MUI changed, so this time, the changes
  330. section does not describe everything in detail but is just like a
  331. short overview.
  332.  
  333. Changes for users:
  334.  
  335. - To find a compromise between flexibility and resource usage, MUI 3
  336.   uses a completely new memory management concept. A lot of extra
  337.   features which are not necessarily needed to run applications have
  338.   been moved into external libraries. Most of these libraries are not
  339.   even loaded if MUI runs with its default settings. With this new
  340.   memory management, users have the the ability to control MUIs memory
  341.   usage by using appropriate configurations.
  342.  
  343. - MUI's speed has increased considerably compared with earlier versions.
  344.   This speedup depends on the machine MUI is running on: the slower the
  345.   Amiga, the more noticeable is the speed increase. Especially drawing
  346.   of GUI elements on ECS/AGA machines is a lot faster now due to a new
  347.   way of rendering. Even if a 7 MHz computer still can't be considered as
  348.   an optimum MUI platform, applications should perform a lot better now.
  349.  
  350. - The slow and bulky preferences system was completely rewritten, the
  351.   new way of handling settings is a lot clearer and more straight
  352.   forward. An applications local configuration is no longer adjusted
  353.   from the global preferences editor. Instead, all MUI applications
  354.   offer a way to open their private MUI settings window. This makes MUI
  355.   look more like an integral part of a program. Furthermore, the
  356.   settings windows are better structurized and offer easier access to
  357.   all configuration option.
  358.  
  359. - Public screen handling moved to an external program called "PSI"
  360.   (Public Screen Inspector). PSI fixes all known bugs of MUI 2.x
  361.   screens, is more easy to use and offers a few new features.
  362.   Furthermore, PSI can also be used independantly as screen manager for
  363.   non-MUI programs.
  364.  
  365. - All accompanying MUI programs make extensive use of brandnew MUI 3
  366.   programming features like dynamic object creations, balancing groups,
  367.   popup menus, Drag&Drop or Help bubbles. All those things have been
  368.   available on other operating systems for a long time, its about time
  369.   to get them to the Amiga.
  370.  
  371. Changes for programmers:
  372.  
  373. - Added so called "input handlers" which allow custom classes to
  374.   directly react on signal bits. See MUIM_AddInputHandler for details.
  375.  
  376. - You are encouraged to include a Settings/MUI... menu in your
  377.   application that does nothing but simply send a
  378.   MUIM_Application_OpenConfigWindow to your application object (see
  379.   psi.c).
  380.  
  381. - Implemented context sensitive popup menus. See autodocs of
  382.   MUIA_ContextMenu for details.
  383.  
  384. - Implemented custom layout groups. Positioning of children is
  385.   completely under programmers control. See new demo CustomLayout and
  386.   autodocs of MUIA_Group_LayoutHook for details.
  387.  
  388. - Changed layout behaviour of virtual groups. This should makes them
  389.   much more useful, especially together with the new custom layout
  390.   hooks. Performance was also increased. See autodocs of Virtgroup class
  391.   and Scrollgroup class for details.
  392.  
  393. - Implemented a Poppen class and new muimaster.library functions
  394.   MUI_ObtainPen() and MUI_ReleasePen(). Use this if your application
  395.   needs custom pens. See autodocs and demo Class2.c for details.
  396.  
  397. - Improved notification on MUIA_Window_InputEvent. See autodocs for
  398.   details.
  399.  
  400. - Fixed protection bits in dirlist objects MUIM_Dirlist_GetEntry.
  401.  
  402. - Implemented help bubbles. See MUIA_ShortHelp for details.
  403.  
  404. - Implemented MUIA_Parent attribute to ask an object about its parent
  405.   group.
  406.  
  407. - Included full source code of the new screen manager for educational
  408.   purposes. This little tool shows how to write good MUI programs. It
  409.   demonstrates several kinds of sub classes (windows, groups, lists),
  410.   drag & drop handling, dynamic object creation & linking, multi
  411.   threading, localization, help bubbles and much more. The screen
  412.   manager acts as a kind of standard MUI application, you can find lots
  413.   of important techniques and guidelines of MUI programming here. Forget
  414.   about the other demos, if you want to learn something, take the screen
  415.   manager. I want all of you to have a close look at the source and
  416.   drop your old-fashioned way of "ReturnID"-programming immediately.
  417.   It's time to get real object-oriented NOW! Don't be afraid of sub
  418.   classes, there isn't anything easier to work with.
  419.  
  420. - Implemented "disappearing" objects. Whenever a window is too small,
  421.   these objects are simply left out during layout calculations according
  422.   to their disappear level. This allows creation of complex and nice
  423.   GUIs while still remaining compatible with crappy 640x200 screens. See
  424.   autodocs of MUIA_HorizDisappear and MUIA_VertDisappear for details.
  425.  
  426. - Implemented "balancing" groups. See the Balancing demo and the
  427.   autodocs of the new BalanceClass for details.
  428.  
  429. - Implemented MUIM_Application_CheckRefresh method. You should call it
  430.   e.g. from IntuiMsgHooks of ASL-Requesters to ensure correct refreshing
  431.   of simple refresh type MUI windows. See autodocs and screen manager
  432.   source code for details.
  433.  
  434. - Implemented possibility to add objects to groups dynamically. See
  435.   autodocs of MUIM_Group_InitChange & MUIM_Group_ExitChange and screen
  436.   manager source code for details.
  437.  
  438. - Included simple brush2c program to help creating input for MUI's
  439.   Bitmap class. Source can be found in "MUI/Developer/C/Examples/",
  440.   usage examples are included in the screen manager's source code.
  441.  
  442. - Included classes to display tree structures.
  443.  
  444. - Introduced a new cycle chain system. All you have to do is to set
  445.   MUIA_CycleChain to 1 for every object that you want to have in your
  446.   chain, MUI does the rest automatically. The old
  447.   MUIM_Window_SetCycleChain will continue to work but is considered
  448.   obsolete.
  449.  
  450. - Implemented possibility to have custom builtin images in listviews.
  451.   No more need for external image files and other rubbish in your
  452.   applications. See psi.c ScreenList class and autodocs of
  453.   MUIM_List_CreateImage for details.
  454.  
  455. - Implemented full Drag&Drop facilities for all MUI objects. See
  456.   autodocs of MUIM_Drag#? in area class for details.
  457.  
  458. - Added a few new good-looking classes like level displays and turning
  459.   knobs. See slidorama demo for details.
  460.  
  461. - Rearranged class tree for slider-like classes that adjust numeric
  462.   values. See autodocs of numeric class and its subclasses for details.
  463.  
  464. - Implemented MUIM_Application_NewInput to improve behaviour of input
  465.   loops. MUIM_Application_Input will continue to work but is considered
  466.   obsolete.
  467.  
  468. - Implemented vertical bars in listviews with BAR/S switch for
  469.   MUIA_List_Format. See autodocs for details.
  470.  
  471.  
  472.  
  473. ------------------------------------------------------------------------
  474. Version 3.0 (10-Nov-95)                     (muimaster.library V11.3512)
  475. ------------------------------------------------------------------------
  476.  
  477. This was a special Computer 95 release and is not further documented.
  478.  
  479.  
  480.  
  481. ------------------------------------------------------------------------
  482. Version 2.3  (24-Dec-94)                      (muimaster.library V10.33)
  483. ------------------------------------------------------------------------
  484.  
  485. * MINOR SASG UPDATE *
  486.  
  487. Sorry, this update is a little smaller than usual. The reason is
  488. simple, I was on a long holiday trip during the last months. :-)
  489.  
  490. Changes for users:
  491.  
  492. - Online help works again (but only synchronous) for 2.x systems.
  493.  
  494. - Improved smooth scrolling for listviews with many entries.
  495.  
  496. - Prefs program fits on an NTSC 640x200 screen with topaz/8.
  497.  
  498. - Popup hotkey is filtered in string gadget input.
  499.  
  500. Changes for programmers:
  501.  
  502. - MUIA_String_MaxLen is gettable.
  503.  
  504. - MUIA_ControlChar works for listview class.
  505.  
  506. - Dirlist object returns correct file dates.
  507.  
  508. - MUIA_Dirlist_Directory is get()able.
  509.  
  510. - Implemented MUIA_Window_MouseObject & MUIA_Window_NeedsMouseObject
  511.   attributes for immediate online help. See autodocs & Settings demo
  512.   for details.
  513.  
  514. - Added some support for the GCC compiler (include/inline/muimaster.h).
  515.  
  516. - Implemented MUIA_Listview_ScrollerPos tag to specify the position of
  517.   the scrollbar in a listview.
  518.  
  519. - Fixed some problems with string gadgets and attached lists.
  520.  
  521. - Implemented MUIA_Application_UseRexx/UseCommodities attributes.
  522.   Set to FALSE to disable the builtin ARexx/Commodities handling.
  523.   Don't do this unless you have a very good reason!
  524.  
  525. - Boopsi objects in virtual groups are handled like string gadgets,
  526.   they only appear when they're completely visible.
  527.  
  528. - Implemented MUIV_Notify_Self, MUIV_Notify_Window and
  529.   MUIV_Notify_Application special values to simplify notification
  530.   mechanism. See autodocs of notify class (MUIM_Notify) for details.
  531.  
  532. - Note: If you have questions or suggestions about MUI, please do
  533.   *not* ask me directly. Write to the MUI mailing list instead:
  534.   To subscribe, send mail to listserv@taloa.unice.fr with
  535.   an empty subject and a line containing the magic words
  536.   SUB mui Your Name
  537.  
  538.  
  539.  
  540. ------------------------------------------------------------------------
  541. Version 2.2  (08-Aug-94)                       (muimaster.library V9.80)
  542. ------------------------------------------------------------------------
  543.  
  544. * MINOR SASG UPDATE *
  545.  
  546. Changes for users:
  547.  
  548. - There were some misunderstandings about SASG update rules. Unless
  549.   otherwise stated, all MUI updates are MINOR SASG UPDATES, i.e.
  550.   you are not required to update your keyfile. Major updates (maybe
  551.   one at the end of this year) will be specifically announced and
  552.   the MUI prefs program will tell you about it.
  553.  
  554. - When starting two or more MUI applications at the same time, there
  555.   was a chance that the keyfile was not recognized correctly.
  556.  
  557. - Fixed some installation script problems.
  558.  
  559. - Fixed a possible crash in the registration program.
  560.  
  561. - MUI 2.1 was accidently documented to require OS 2.1, that's of
  562.   course a documentation bug. MUI continues to run with 2.0.
  563.  
  564. - The serial number of a registered user is displayed in the prefs
  565.   programs about window.
  566.  
  567. - Because the MUI 2.1 default settings for HalfShine and HalfShadow
  568.   pen caused some confusion, they are back to standard MagicWB
  569.   rules (color n-4 and n-3) again.
  570.  
  571. - Fixed a bug in coloradjust class which caused wrong public screen
  572.   colors with V37.
  573.  
  574. - AmigaGuide online help works asynchronous for all MUI applications.
  575.  
  576. - Fixed some problems of listviews in virtual groups. Unfortunately,
  577.   some other problems are still there.
  578.  
  579. - Fixed cycle gadget lockup problem.
  580.  
  581. - Made window handling a bit more sensitive, MUI windows will now
  582.   look correctly even with non standard system gadget sizes.
  583.  
  584. - Prefs program terminates when receving a CTRL-C signal.
  585.  
  586. - Popup objects are controllable with a configurable hotkey.
  587.   See MUI-Prefs keyboard adjustment listview.
  588.  
  589. Changes for programmers:
  590.  
  591. - Autodocs for MUI_Redraw() didn't mention the important
  592.   fact that calling DoSuperMethod() is always the first
  593.   step in a custom classes MUIM_Draw method. Otherwise,
  594.   msg->flags is not set properly.
  595.  
  596. - Result of MUI_Redraw() changed from APTR to VOID.
  597.  
  598. - AppIcon notification works again.
  599.  
  600. - Implemented one-dimension virtual groups, useful e.g. for
  601.   button rows. See autodocs of MUIA_Scrollgroup_FreeHoriz and
  602.   MUIA_Scrollgroup_FreeVert for details.
  603.  
  604. - Getting MUIA_Disabled didn't work in previous releases.
  605.  
  606. - MUIA_Slider_Min und MUIA_Slider_Max are settable.
  607.  
  608. - Building subclasses of MUIC_Window is possible.
  609.  
  610. - Notify on MUIA_List_Entries works.
  611.  
  612. - Implemented MUIM_List_Move method to simplify moving entries
  613.   in a list. See autodocs for details.
  614.  
  615. - Implemented MUIA_Boopsi_Smart tag for better handling of "smart"
  616.   Boopsi classes, i.e. the freely distributable "editor.gadget".
  617.  
  618. - Implemented MUIM_NoNotifySet method for better handling of
  619.   bidirectional notifications (i.e. scrollbar - editorgadget).
  620.  
  621. - Implemented MUIA_List_InsertPosition to query position of
  622.   last inserted entry.
  623.  
  624. - Implemented MUIV_List_Remove_Selected for list class remove
  625.   method.
  626.  
  627. - Menuitem objects export & import their CHECKED state with
  628.   MUIM_Application_Save and MUIM_Application_Load.
  629.  
  630. - It's possible to include register groups in cycle chains.
  631.  
  632. - Implemented MUIA_Popobject_WindowHook to allow adjusting
  633.   cycle chains, default objects, etc. for popup objects.
  634.  
  635. - Programmers, please update "MUI.readme" in your distributions!
  636.  
  637.  
  638.  
  639. ------------------------------------------------------------------------
  640. Version 2.1  (03-Jul-94)                      (muimaster.library V8.697)
  641. ------------------------------------------------------------------------
  642.  
  643. * MINOR SASG UPDATE *
  644.  
  645. I planned to have a lot more new things for V2.1. Unfortunately, time
  646. was missing. Next versions of MUI will probably be split into a basic
  647. muimaster.library and a muifancy.library. The fancy library will hold
  648. all the additional features, users with low memory or slow machines may
  649. decide to leave out this stuff. For more infos, see the "Future" file
  650. in the developer archive.
  651.  
  652. Changes for users:
  653.  
  654. - From version 2.1 on, MUI is distributed under the rules of the SASG,
  655.   the Standardized Amiga Shareware Group. See the accompanying program
  656.   "Registration" for details.
  657.  
  658. - Screen preferences were not saved correctly sometimes.
  659.  
  660. - When changing the application with the preferences program,
  661.   MUI offers the possibility to use/save changed settings.
  662.  
  663. - Sliders can be configured to have their info text at the left side.
  664.  
  665. - Listview multiselect mode was sometimes triggered accidently.
  666.  
  667. - Enhanced popup menu configuration possibilities, including
  668.   custom background and frame settings and animated appearance.
  669.  
  670. - Removed the startup and shutdown command config options.
  671.  
  672. Changes for programmers:
  673.  
  674. - Implemented MUIV_NotTriggerValue. See autodocs of MUIM_Notify for
  675.   details.
  676.  
  677. - Fixed some autodoc syntax bugs, added version information for every
  678.   class and attribute.
  679.  
  680. - Implemented MUIA_Application_ForceQuit. See autodocs for details.
  681.  
  682. - Invisible or disabled objects don't trigger MUIA_AppMessage
  683.   notification anymore.
  684.  
  685. - Fixed Dirlist class problems with short directory names.
  686.  
  687. - When MUI fails to open a window, notifications on MUIA_Window_Open
  688.   are not triggered anymore.
  689.  
  690. - Fixed a little memory eating bug.
  691.  
  692. - Added a "often used object" collection to muimaster.library. You
  693.   should use this collection as frequently as possible instead of
  694.   building your own objects or using the supplied macros. See
  695.   autodocs of MUI_MakeObject() for details.
  696.  
  697. - Simplified the creation of labels with underscore. This makes
  698.   localization much easier. See autodocs of MUI_MakeObject()
  699.   for details.
  700.  
  701. - Added object oriented menus. See new demo program and autodocs of
  702.   menustrip, menu and menu item class for details.
  703.  
  704. - Controlling a slider object with keyboard accidently triggered
  705.   notification twice.
  706.  
  707. - Fixed problems when language specific special characters were
  708.   used as shortcut.
  709.  
  710. - Included documentation on how to write external public
  711.   custom classes. See developer docs and new examples in
  712.   "MUI/Developer/C/Examples/Classes" for details.
  713.  
  714. - Fixed a crash when the colorwheel.gadget was not available under V39.
  715.  
  716. - Implemented new builtin classes MUIC_Poplist, MUIC_Bitmap and
  717.   MUIC_Bodychunk. Just a few bytes of code but very useful.
  718.  
  719. - Rewrote some critical parts of MUI in assembler.
  720.  
  721. - Fixed a problem when MUIA_ShowMe was used on groups.
  722.  
  723. - Implemented MUIA_Window_FancyDrawing for highspeed programs.
  724.  
  725. - Fixed some notification bugs for register objects.
  726.  
  727.  
  728.  
  729. ------------------------------------------------------------------------
  730. Version 2.0  (11-Feb-94)                      (muimaster.library V7.973)
  731. ------------------------------------------------------------------------
  732.  
  733. Changes for users:
  734.  
  735. - Rearranged libraries. Classes which are needed by all applications or
  736.   which are very small are integrated in muimaster.library. Fancy and
  737.   rarely used classes come as external files. This speeds up starting
  738.   the first MUI application and simplifies installation procedure for
  739.   commercial applications.
  740.  
  741. - Integration of classes increases performance significantly.
  742.  
  743. - Rearranged the prefs program completely. Major changes include
  744.   "single application" mode, image multiselect, presets and localization.
  745.   I cannot list all the other news here in detail, but together they should
  746.   make adjusting preferences a lot easier.
  747.  
  748. - Included beautiful new 8 color images, patterns and button designs from
  749.   Martin "MagicWB" Huttenloher. Give them a try!
  750.  
  751. - Fixed several screenmode requester bugs.
  752.  
  753. - Fixed problems with crazy going prop gadgets.
  754.  
  755. - Changed "active object" display. No more ugly active background but
  756.   instead a nice extra frame will be displayed.
  757.  
  758. - Getting the name of the used public screen is possible with
  759.   new ARexx command "info screen".
  760.  
  761. - Documented ARexx command error result codes.
  762.  
  763.  
  764. Changes for programmers:
  765.  
  766. - More detailed developer documentation including information about
  767.   writing custom classes and a MUI style guide. Read it!
  768.  
  769. - Included new demos "ClassN" to show how to implement custom
  770.   classes.
  771.  
  772. - Added the ability to specify a listview multiselect type directly.
  773.   See MUIA_Listview_MultiSelect attribute for details.
  774.  
  775. - The MUIA_ShowMe attribute can be used to hide objects. Using this
  776.   attribute is even possible in open windows, hiding object will
  777.   then cause a new layout to take place. When necessary, the parent
  778.   window will be resized automatically. Included new demo program
  779.   "ShowHide".
  780.  
  781. - Implemented popstring, popasl, popobject classes for asynchronous
  782.   popups. popasl class is the recommended way to include file/font/etc.
  783.   requesters. Included new demo program "Popup" to demonstrate the new
  784.   popup classes.
  785.  
  786. - Added a register class. No, this is not for registrating your MUI,
  787.   its used to create flexible titled page groups. See the prefs
  788.   program and the pages demo for details.
  789.  
  790. - Added the ability to specify a listview multiselect type directly.
  791.   See MUIA_Listview_MultiSelect attribute for details.
  792.  
  793. - Implemented MUIM_List_InsertSingle method.
  794.  
  795. - Multiline entries ("foo\nbar") in a cycle gadget were not handled
  796.   correctly.
  797.  
  798. - Implemented MUIA_Rectangle_HBar and MUIA_Rectangle_VBar to create
  799.   nice single border lines.
  800.  
  801. - Implemented MUIM_MultiSet method, MUIA_NoNotify attribute and
  802.   MUIM_KillNotify method for notify class.
  803.  
  804. - Implemented MUIA_Gauge_InfoText attribute.
  805.  
  806. - Implemented MUIA_Listview_ClickColumn, MUIA_Listview_DefClickColumn.
  807.  
  808. - Fixed problem with MUIA_Application_Iconified notification.
  809.  
  810. - Implemented MUIV_List_Select_All for MUIM_List_Select method.
  811.  
  812. - Fixed some problems with sleeping windows and applications.
  813.  
  814. - MUIA_List_First and MUIA_List_Visible are really get()able.
  815.  
  816. - Fixed a problem with keyboard control for MUIA_Slider_Quiet sliders,
  817.   implemented MUIA_Slider_Reverse tag.
  818.  
  819. - Tag value and documentation for MUIA_List_Title attribute was
  820.   missing.
  821.  
  822. - Specifying images with "1:x" never worked, use "6:x" instead.
  823.   See MUIA_Image_Spec for details.
  824.  
  825. - MUI_Request() gadgets may contain '_' characters to indicate keyboard
  826.   shortcuts.
  827.  
  828. - Implemented MUIA_Application_RexxHook.
  829.  
  830. - Implemented MUIA_String_EditHook.
  831.  
  832.  
  833.  
  834. ------------------------------------------------------------------------
  835. Version 1.4  (27-Oct-93)                      (muimaster.library V6.435)
  836. ------------------------------------------------------------------------
  837.  
  838. From V1.4 on, MUI is distributed in two separate archives:
  839.   muiXXusr.lha - libraries, classes, demos, user documentation.
  840.   muiXXdev.lha - programmer interfaces and programmer documentation.
  841.  
  842.  
  843. Changes for users:
  844.  
  845. - Important Note:
  846.   Due to some enhancements in image processing, registered users will
  847.   have to readjust their image settings. Otherwise some images might
  848.   not be visible!
  849.  
  850. - I accept every currency for registration now. Please read the
  851.   registration section of the manual for details.
  852.  
  853. - Rearranged preferences program. Instead of many different windows,
  854.   page groups are used and should make things a lot easier.
  855.  
  856. - Implemented palette gadget for public screens.
  857.  
  858. - Added the possibility to use an RGB color as image (V39 and above).
  859.  
  860. - Implemented background pattern for screens (V39 and above).
  861.  
  862. - Background pictures allocate their colors correctly (V39 and above).
  863.  
  864. - Gauge frame and radio button spacing didn't work.
  865.  
  866. - Reduced flicker when resizing a window with a fancy background.
  867.  
  868. - Added configuration switch for window redraw type. Possible settings
  869.   are fast/ugly and slow/nice. Defaults to fast/ugly, which isn't really
  870.   really ugly but maybe faster.
  871.  
  872. - Added special screen type to address the frontmost public screen.
  873.  
  874. - Speeded up first drawing of a window.
  875.  
  876. - Fixed some simple refresh problems with page groups.
  877.  
  878. - Iconify Gadget wasn't visible on a one plane display.
  879.  
  880. - Improved text rendering speed about 20% (maybe even more if you have
  881.   some data cache).
  882.  
  883. - Made cycle popups blazingly fast and more configurable (frame setting).
  884.  
  885. - One gadget requesters can always be answered with the [Press] key.
  886.  
  887. - Two gadget requesters can always be answered with 'y' for the left
  888.   and 'n' for the right gadget.
  889.  
  890. - Requester buttons sometimes were layouted with no intermediate
  891.   spacing.
  892.  
  893. - Scrolling a partially obscured listview in a simple refresh window
  894.   would create some pixel garbage.
  895.  
  896. - Reasonably speeded up listview drawing, cursor handling and multi
  897.   selecting. Together with keyboard scrolling, display is even faster
  898.   if a listview's height is exactly a multiple of its line height.
  899.  
  900. - Implemented configuration switch for full line listviews. These
  901.   listviews won't show incomplete lines are and are somewhat
  902.   faster. Default are full line listviews.
  903.  
  904. - Fixed some public screen open and close problems.
  905.  
  906. - Tab size in floattext class was handled wrong.
  907.  
  908. - Eliminated first and last line flicker when scrolling listviews.
  909.  
  910. - Rearranged and rewrote parts of the documentation.
  911.  
  912. - Please read the manuals "Discussion" section before reporting
  913.   any problems!
  914.  
  915.  
  916. Changes for programmers:
  917.  
  918. - Attention... very powerful feature... :-)
  919.   Implemented virtual (scrolling) groups. Included new program
  920.   "Virtual" for demonstration.
  921.  
  922. - New color oriented classes: Colorfield, Coloradjust, Palette.
  923.  
  924. - Fixed vertical slider problem.
  925.  
  926. - Trying to create an object from a non existing class caused an
  927.   enforcer hit.
  928.  
  929. - Enabling a group containing prop/string gadgets didn't really enable
  930.   the gadgets.
  931.  
  932. - Implemented MUIM_WriteString and MUIM_WriteLong methods for easy
  933.   structure updating.
  934.  
  935. - Implemented MUIA_ControlChar for slider objects.
  936.  
  937. - MUIA_Group_ActivePage didn't trigger notification.
  938.  
  939. - Fixed some minor text engine bugs.
  940.  
  941. - During the execution of a MUIM_CallHook in a notify method,
  942.   other MUI tasks were locked.
  943.  
  944. - Implemented MUIA_Version and MUIA_Revision attributes to allow
  945.   version checking for applications.
  946.  
  947. - The number of the current entry is passed to a list display
  948.   hook as additional parameter.
  949.  
  950. - Setting a boopsi gadgets attributes didn't cause a display update.
  951.  
  952. - Setting MUIA_Background wouldn't always update the display.
  953.  
  954. - Children of MUIA_Group_SameXXXX groups could accidently be enlarged
  955.   beyond their maximum size.
  956.  
  957. - Implemented MUIA_Application_BrokerPri attribute.
  958.  
  959. - Implemented MUIA_Application_BrokerPort attribute. This port can
  960.   e.g. be used to add additional HotKeys with the HotKey() amiga.lib
  961.   function.
  962.  
  963. - Recognizing a press/release of a prop gadget is possible by
  964.   listening to the MUIA_Prop_Pressed attribute.
  965.  
  966. - Adding and removing members of groups could accidently change
  967.   the groups orientation.
  968.  
  969. - Implemented some new standard images concerning tape deck and network
  970.   issues.
  971.  
  972. - MUIM_Application_Get/SetMenuCheck didn't work.
  973.  
  974. - Some Modula and Oberon interface changes.
  975.  
  976. - Implemented MUIA_Slider_Quiet tag to hide the number output.
  977.  
  978. - Implemented MUIA_Dirlist_MultiSelDirs attribute.
  979.  
  980. - Implemented MUIA_Window_PublicScreen tag to force opening windows
  981.   on certain public screens.
  982.  
  983. - Implemented MUIM_List_NextSelected to help stepping through selected
  984.   entries of a list.
  985.  
  986. - Implemented MUIA_List_Title attribute to support titles for
  987.   (multi columned) lists.
  988.  
  989. - MUIA_List_Active wasn't reported during a MUIM_List_Clear.
  990.  
  991. - MUIA_List_Active was reported twice during a MUIM_List_Remove.
  992.  
  993. - MUIA_Boopsi_Object didn't trigger notification.
  994.  
  995. - Implemented default sizes for all classes. New windows will
  996.   be opened using these default sizes instead of
  997.   MUIV_Window_Width/Height_MinMax(10).
  998.  
  999. - Menu multi select didn't work.
  1000.  
  1001. - Autodocs are alphabetically sorted now.
  1002.  
  1003.  
  1004.  
  1005. ------------------------------------------------------------------------
  1006. Version 1.3  (29-Aug-93)                      (muimaster.library V5.141)
  1007. ------------------------------------------------------------------------
  1008.  
  1009. - MUIA_String_Secret string gadgets crashed on an 68000.
  1010.  
  1011. - Corrected assembler includes.
  1012.  
  1013. - Fixed bug with MUIA_Window_ActiveObject.
  1014.  
  1015.  
  1016.  
  1017. ------------------------------------------------------------------------
  1018. Version 1.2  (28-Aug-93)                      (muimaster.library V5.140)
  1019. ------------------------------------------------------------------------
  1020.  
  1021. - Fixed enforcer hits in ARexx HELP command.
  1022.  
  1023. - Setting MUIA_Background did not refresh the display.
  1024.  
  1025. - Added validity check on key description strings in prefs program.
  1026.  
  1027. - Initializing string or prop gadgets with MUIA_Disabled didn't really
  1028.   disable the gadget.
  1029.  
  1030. - Fixed some sync problems with MUIA_String_Integer.
  1031.  
  1032. - Menu checkmarks would disappear when a window was closed and reopened.
  1033.  
  1034. - Specifying a non existing font caused windows to disappear.
  1035.  
  1036. - Included Manx, Assembler, Modula, Oberon and Amiga-E interfaces.
  1037.  
  1038. - Implemented MUIA_Window_Screen attribute. This allows opening a
  1039.   MUI window on an explicitly defined intuition screen.
  1040.  
  1041. - Rewrote the image caching mechanism. This should fix some bugs
  1042.   and system crashes with non existing external image files.
  1043.  
  1044. - Fixed a bad bug that could trash the stack under certain
  1045.   circumstances.
  1046.  
  1047. - MUIA_Selected didn't work at object creation time.
  1048.  
  1049. - Better MOUSEMOVE and INTUITICKS handling to improve performance.
  1050.  
  1051. - Using simple refresh windows would sometimes freeze the system.
  1052.  
  1053. - Attention... very powerful feature... :-)
  1054.   Implemented two new attributes for group class:
  1055.   MUIA_Group_PageMode   (TRUE/FALSE)      this group is a page group.
  1056.   MUIA_Group_ActivePage (0...numchilds-1) this child shall be displayed.
  1057.   Page groups always show exactly one of their childs. The number of
  1058.   this child can be changed dynamically, even in an open window.
  1059.   New demo "Pages" demonstrates the new page groups.
  1060.  
  1061. - Included AppWindow support. See MUIA_Window_AppWindow,
  1062.   MUIA_Application_DropObject and MUIA_AppMessage for details.
  1063.   New demo "AppWindow" for demonstration.
  1064.  
  1065. - Bumped version number of all libs to 5. You must not mix MUI
  1066.   classes and libraries with different version numbers, this
  1067.   will lead into problems. Revision numbers are uncritical.
  1068.   Note: This does not affect applications. They will of course
  1069.   work with all MUI releases, as long as all version numbers
  1070.   are identical.
  1071.  
  1072. - Included version number checking. MUI will refuse to open
  1073.   classes when the class version doesn't match the master
  1074.   library. Note: when I'm sure about internal class communication
  1075.   (maybe in a few months...), this check will become obsolete.
  1076.  
  1077.  
  1078.  
  1079. ------------------------------------------------------------------------
  1080. Version 1.1  (15-Aug-93)                       (muimaster.library V4.58)
  1081. ------------------------------------------------------------------------
  1082.  
  1083. - Removed a remaining serial debug output.
  1084.  
  1085. - Corrected installation script for 2.x systems.
  1086.  
  1087. - Corrected HELP: assign of "StartMeFirst" script.
  1088.  
  1089. - Corrected some autodocs and header file bugs.
  1090.  
  1091. - Added system configuration switch to adjust window refresh
  1092.   type, possibilities are simple refresh and smart refresh.
  1093.  
  1094. - Made some changes to the Oberon interface.
  1095.  
  1096. - String gadgets with an invisible font ate some bytes of memory.
  1097.  
  1098. - Fixed some bugs with failing boopsi images.
  1099.  
  1100. - Some minor changes to some of the demo programs.
  1101.  
  1102. - Speeded object creation about 10%.
  1103.  
  1104. - For boopsi image implementors: boopsi images now have the ability
  1105.   to specify a desired minimum and maximum size. See "mui.h"
  1106.   for details.
  1107.  
  1108. - Implemented MUIA_Window_DefaultObject attribute. See autodocs
  1109.   for details.
  1110.  
  1111. - Added some new boopsi images.
  1112.  
  1113. - Implemented MUIA_ControlChar for radio buttons. Pressing
  1114.   the control char will activate the next (shift -> previous)
  1115.   radio button element.
  1116.  
  1117. - Implemented MUIA_ControlChar for string gadgets. Pressing
  1118.   the control char will activate the gadget.
  1119.  
  1120. - Added some more keyboard shortcuts to the prefs program.
  1121.  
  1122. - Minimum width for MUIA_Window_SizeRight windows was calculated wrong.
  1123.  
  1124. - Last characters of some text fields were not displayed with
  1125.   certain fonts.
  1126.  
  1127.  
  1128.  
  1129. ------------------------------------------------------------------------
  1130. Version 1.0  (08-Aug-93)                        (muimaster.library V4.4)
  1131. ------------------------------------------------------------------------
  1132.  
  1133. - Initial Release.
  1134.